home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 July
/
EnigmA AMIGA RUN 20 (1997)(G.R. Edizioni)(IT)[!][issue 1997-07 & 08][EAR-CD IV].iso
/
earcd
/
dev
/
amos
/
moreusel.lha
/
DotTunnel.AMOS
/
DotTunnel.amosSourceCode
Wrap
AMOS Source Code
|
1997-04-18
|
2KB
|
66 lines
Hide
Screen Open 0,320,256,8,0
Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
Double Buffer : Autoback 0
AR=128 : AD=AR-1
If Length(9)=0
Reserve As Data 9,AR*512*2
ST=Start(9)
For A=0 To AD
D=2000/((AR*3-A*3)+8)
For W=0 To 511
' DD=Qsin(W*2,D+((D*Abs((W and ad)-32))/64))
DD= Extension_8_1106(W*2,D)
Doke ST,DD : Add ST,2
Next
Next
End If
Dim CO(2)
CO(0)=$88F : CO(1)=$448 : CO(2)=$224
For A=0 To 2
For C=0 To 7
AA=A : CO=0
For AAA=0 To 2
Add AA,1,0 To 2
If( Extension_8_04F8(AA) and C)>0 Then CO=CO(2-AAA)
Next
Extension_8_14C6 A,C,CO
Next
Next
'Wait Key
Reserve As Work 10,Screen Height*2
ST=Start(10)
B=0
For A=0 To Screen Height-1
Doke ST,B : Add ST,2
Add B,Screen Width/8
Next
ST=Start(9)
R=0 : S=0
BP=0 : BPC=0
Repeat
Screen Swap
Wait Vbl
Extension_8_121C 0,BP
Extension_8_1258
For R=0 To AD Step 4
RR=(R+S) and AD
X=160+ Extension_8_1106(S*8-RR*4,32+ Extension_8_1114(S*2,32))
Y=128+ Extension_8_1114(S*8-RR*4,32+ Extension_8_1106(S*2,32))
D0TTUNNEL[Start(10),Start(9)+RR*1024,X,Y,BP,S-R,32]
If RR>AR/2 Then D0TTUNNEL[Start(10),Start(9)+RR*1024,X+1,Y,BP,S-R,16]
If RR>(AR*2)/3 Then D0TTUNNEL[Start(10),Start(9)+RR*1024,X,Y+1,BP,S-R,16]
If RR>(AR*3)/4 Then D0TTUNNEL[Start(10),Start(9)+RR*1024,X+1,Y+1,BP,S-R,16]
Next
Inc S
Extension_8_149E BP,0 : View
BPC=1-BPC : If BPC Then Add BP,1,0 To 2
Until Inkey$<>"" or Mouse Key<>0
Screen Close 0
'Wait Key
End
' Screentable, Sinetable, Mx, My, Bp, Wa, Step
Procedure D0TTUNNEL[STABLE,SITABLE,MX,MY,BP,SA,STE]
' COMPILED PROCEDURE -- can't convert this to AMOS code
End Proc
'Procedure D0TTUNNEL[STABLE,SITABLE,MX,MY,BP,SA,STE]